go/parser.parser.tok (field)
168 uses
go/parser (current package)
interface.go#L220: if p.tok == token.SEMICOLON && p.lit == "\n" {
parser.go#L48: tok token.Token // one token look-ahead
parser.go#L119: s := p.tok.String()
parser.go#L121: case p.tok.IsLiteral():
parser.go#L123: case p.tok.IsOperator(), p.tok.IsKeyword():
parser.go#L130: p.pos, p.tok, p.lit = p.scanner.Scan()
parser.go#L161: for p.tok == token.COMMENT && p.file.Line(p.pos) <= endline+n {
parser.go#L195: if p.tok == token.COMMENT {
parser.go#L203: if p.file.Line(p.pos) != endline || p.tok == token.EOF {
parser.go#L212: for p.tok == token.COMMENT {
parser.go#L256: case p.tok == token.SEMICOLON && p.lit == "\n":
parser.go#L258: case p.tok.IsLiteral():
parser.go#L262: msg += ", found '" + p.tok.String() + "'"
parser.go#L270: if p.tok != tok {
parser.go#L280: if p.tok == tok {
parser.go#L293: if p.tok != tok && p.tok == token.SEMICOLON && p.lit == "\n" {
parser.go#L302: if p.tok != token.RPAREN && p.tok != token.RBRACE {
parser.go#L303: switch p.tok {
parser.go#L318: if p.tok == token.COMMA {
parser.go#L321: if p.tok != follow {
parser.go#L323: if p.tok == token.SEMICOLON && p.lit == "\n" {
parser.go#L341: for ; p.tok != token.EOF; p.next() {
parser.go#L342: if to[p.tok] {
parser.go#L426: if p.tok == token.IDENT {
parser.go#L441: for p.tok == token.COMMA {
parser.go#L459: for p.tok == token.COMMA {
parser.go#L501: if p.tok == token.LBRACK && p.allowGenerics() {
parser.go#L518: if p.tok == token.PERIOD {
parser.go#L538: if p.tok == token.ELLIPSIS {
parser.go#L541: } else if p.tok != token.RBRACK {
parser.go#L546: if p.tok == token.COMMA {
parser.go#L574: if p.tok != token.RBRACK {
parser.go#L577: for p.tok == token.COMMA {
parser.go#L625: if p.tok == token.IDENT {
parser.go#L627: if p.tok == token.PERIOD || p.tok == token.STRING || p.tok == token.SEMICOLON || p.tok == token.RBRACE {
parser.go#L630: if p.tok == token.PERIOD {
parser.go#L636: for p.tok == token.COMMA {
parser.go#L642: if len(names) == 1 && p.tok == token.LBRACK {
parser.go#L660: if p.tok == token.STRING {
parser.go#L661: tag = &ast.BasicLit{ValuePos: p.pos, Kind: p.tok, Value: p.lit}
parser.go#L679: for p.tok == token.IDENT || p.tok == token.MUL || p.tok == token.LPAREN {
parser.go#L731: ptok := p.tok
parser.go#L733: p.tok = token.IDENT // force token.IDENT case in switch below
parser.go#L734: } else if typeSetsOK && p.tok == token.TILDE {
parser.go#L739: switch p.tok {
parser.go#L744: p.tok = ptok
parser.go#L748: switch p.tok {
parser.go#L800: if typeSetsOK && p.tok == token.OR && f.typ != nil {
parser.go#L825: for name0 != nil || p.tok != closing && p.tok != token.EOF {
parser.go#L941: if p.allowGenerics() && acceptTParams && p.tok == token.LBRACK {
parser.go#L958: if p.tok != token.RPAREN {
parser.go#L973: if p.tok == token.LPAREN {
parser.go#L1014: case p.tok == token.LBRACK && p.allowGenerics():
parser.go#L1021: if name0, _ := x.(*ast.Ident); name0 != nil && p.tok != token.COMMA && p.tok != token.RBRACK {
parser.go#L1046: for p.tok != token.RBRACK && p.tok != token.EOF {
parser.go#L1058: case p.tok == token.LPAREN:
parser.go#L1072: if p.tok == token.LBRACK && p.allowGenerics() {
parser.go#L1092: for p.tok == token.OR {
parser.go#L1108: if p.tok == token.TILDE {
parser.go#L1141: case p.tok == token.IDENT:
parser.go#L1149: case p.tok == token.TILDE && p.allowGenerics():
parser.go#L1204: if p.tok == token.CHAN {
parser.go#L1206: if p.tok == token.ARROW {
parser.go#L1230: for p.tok != token.RBRACK && p.tok != token.EOF {
parser.go#L1255: switch p.tok {
parser.go#L1258: if p.tok == token.LBRACK && p.allowGenerics() {
parser.go#L1298: for p.tok != token.CASE && p.tok != token.DEFAULT && p.tok != token.RBRACE && p.tok != token.EOF {
parser.go#L1338: if p.tok != token.LBRACE {
parser.go#L1358: switch p.tok {
parser.go#L1364: x := &ast.BasicLit{ValuePos: p.pos, Kind: p.tok, Value: p.lit}
parser.go#L1412: if p.tok == token.TYPE {
parser.go#L1429: if p.tok == token.RBRACK {
parser.go#L1449: if p.tok != token.COLON {
parser.go#L1455: switch p.tok {
parser.go#L1458: for p.tok == token.COLON && ncolons < len(colons) {
parser.go#L1462: if p.tok != token.COLON && p.tok != token.RBRACK && p.tok != token.EOF {
parser.go#L1470: for p.tok == token.COMMA {
parser.go#L1472: if p.tok != token.RBRACK && p.tok != token.EOF {
parser.go#L1523: for p.tok != token.RPAREN && p.tok != token.EOF && !ellipsis.IsValid() {
parser.go#L1525: if p.tok == token.ELLIPSIS {
parser.go#L1545: if p.tok == token.LBRACE {
parser.go#L1560: if p.tok == token.COLON {
parser.go#L1574: for p.tok != token.RBRACE && p.tok != token.EOF {
parser.go#L1593: if p.tok != token.RBRACE {
parser.go#L1668: switch p.tok {
parser.go#L1671: switch p.tok {
parser.go#L1684: if p.tok != token.RBRACE {
parser.go#L1731: switch p.tok {
parser.go#L1733: pos, op := p.pos, p.tok
parser.go#L1796: tok := p.tok
parser.go#L1896: switch p.tok {
parser.go#L1903: pos, tok := p.pos, p.tok
parser.go#L1907: if mode == rangeOk && p.tok == token.RANGE && (tok == token.DEFINE || tok == token.ASSIGN) {
parser.go#L1927: switch p.tok {
parser.go#L1957: s := &ast.IncDecStmt{X: x[0], TokPos: p.pos, Tok: p.tok}
parser.go#L2024: if p.tok != token.SEMICOLON && p.tok != token.RBRACE {
parser.go#L2039: if tok != token.FALLTHROUGH && p.tok == token.IDENT {
parser.go#L2066: if p.tok == token.LBRACE {
parser.go#L2076: if p.tok != token.SEMICOLON {
parser.go#L2078: if p.tok == token.VAR {
parser.go#L2090: if p.tok != token.LBRACE {
parser.go#L2091: if p.tok == token.SEMICOLON {
parser.go#L2098: if p.tok != token.LBRACE {
parser.go#L2136: if p.tok == token.ELSE {
parser.go#L2138: switch p.tok {
parser.go#L2161: for p.tok == token.COMMA {
parser.go#L2176: if p.tok == token.CASE {
parser.go#L2227: if p.tok != token.LBRACE {
parser.go#L2230: if p.tok != token.SEMICOLON {
parser.go#L2233: if p.tok == token.SEMICOLON {
parser.go#L2237: if p.tok != token.LBRACE {
parser.go#L2259: for p.tok == token.CASE || p.tok == token.DEFAULT {
parser.go#L2280: if p.tok == token.CASE {
parser.go#L2283: if p.tok == token.ARROW {
parser.go#L2295: if tok := p.tok; tok == token.ASSIGN || tok == token.DEFINE {
parser.go#L2337: for p.tok == token.CASE || p.tok == token.DEFAULT {
parser.go#L2356: if p.tok != token.LBRACE {
parser.go#L2359: if p.tok != token.SEMICOLON {
parser.go#L2360: if p.tok == token.RANGE {
parser.go#L2371: if !isRange && p.tok == token.SEMICOLON {
parser.go#L2375: if p.tok != token.SEMICOLON {
parser.go#L2379: if p.tok != token.LBRACE {
parser.go#L2433: switch p.tok {
parser.go#L2455: s = p.parseBranchStmt(p.tok)
parser.go#L2509: switch p.tok {
parser.go#L2519: if p.tok == token.STRING {
parser.go#L2552: if p.tok == token.ASSIGN {
parser.go#L2589: if p.tok == token.ASSIGN {
parser.go#L2605: if p.tok == token.LBRACK && p.allowGenerics() {
parser.go#L2608: if p.tok == token.IDENT {
parser.go#L2627: if p.tok != token.LBRACK {
parser.go#L2644: if p.tok != token.RBRACK {
parser.go#L2654: if t.Op == token.MUL && (isTypeLit(t.Y) || p.tok == token.COMMA) {
parser.go#L2672: if len(t.Args) == 1 && !t.Ellipsis.IsValid() && (isTypeLit(t.Args[0]) || p.tok == token.COMMA) {
parser.go#L2696: if p.tok == token.ASSIGN {
parser.go#L2734: if p.tok == token.LPAREN {
parser.go#L2737: for iota := 0; p.tok != token.RPAREN && p.tok != token.EOF; iota++ {
parser.go#L2765: if p.tok == token.LPAREN {
parser.go#L2781: switch p.tok {
parser.go#L2787: if p.tok == token.LBRACE {
parser.go#L2818: switch p.tok {
parser.go#L2835: return p.parseGenDecl(p.tok, f)
parser.go#L2872: for p.tok == token.IMPORT {
parser.go#L2878: for p.tok != token.EOF {